package de.iritgo.skillfull.component.visual;

import org.newdawn.slick.GameContainer;
import org.newdawn.slick.Graphics;

import de.iritgo.skillfull.component.VisualComponentImpl;
import de.iritgo.skillfull.component.visitor.DebugVisitor;
import de.iritgo.skillfull.component.visitor.PositionVisitor;
import de.iritgo.skillfull.component.visitor.Visitor;
import de.iritgo.skillfull.entity.Entity;

public class ShowPositionCordsComponentImpl extends VisualComponentImpl implements ShowPositionCordsComponent 
{	
	private int height;
	private int width;
	private int posInfoX;
	private int posInfoY;
	private float posInfoRotation;
	private float posInfoScale;
	
	public int getHeight() 
	{
		return height;
	}

	public void setHeight(int height) 
	{
		this.height = height;
	}

	public int getWidth() 
	{
		return width;
	}

	public void setWidth(int width) 
	{
		this.width = width;
	}

	public int getPosInfoX() 
	{
		return posInfoX;
	}

	public void setPosInfoX(int posInfoX) 
	{
		this.posInfoX = posInfoX;
	}

	public int getPosInfoY() 
	{
		return posInfoY;
	}

	public void setPosInfoY(int posInfoY) 
	{
		this.posInfoY = posInfoY;
	}

	public float getPosInfoRotation() 
	{
		return posInfoRotation;
	}

	public void setPosInfoRotation(float posInfoRotation) 
	{
		this.posInfoRotation = posInfoRotation;
	}

	public float getPosInfoScale() 
	{
		return posInfoScale;
	}

	public void setPosInfoScale(float posInfoScale) 
	{
		this.posInfoScale = posInfoScale;
	}

	public void printConfiguration ()
	{
		System.out.println ("     " + toString ());
		System.out.println ("      Scale: " + scale);
	}

	public void accept (Visitor visitor)
	{
		visitor.visit (this);
	}
		
	/**
	 * @see de.iritgo.skillfull.component.VisualComponentImpl#render(org.newdawn.slick.GameContainer, org.newdawn.slick.Graphics, de.iritgo.skillfull.entity.Entity)
	 */
	@Override
	public void render (GameContainer container, Graphics g, Entity entity)
	{
		g.drawString ("X:" + posInfoX + " Y:" + posInfoY + " R:" + posInfoRotation + " S:" + posInfoScale,
				x + width, y + height);
	}
}	
	

